﻿using EkStudio.com.bean.xml.BillModule;
using EkStudio.com.bean.xml.reflection;
using EkStudio.com.bean.xml.RootInterface;
using EkStudio.com.bean.xml.Unit;

namespace EkStudio.com.bean.xml.BillMapping
{
    /// <summary>
    /// 数据映射基础属性
    /// </summary>
    public class BillDataMapRoot : BillObjectInterface
    {

        private string caption = "";

        private string key = "";

        private string languageTexts = "";

        private string rootVersion = BeanUtil.VERSION;

        private string javaPackage = "";

        private string groupList = "";

        private bool compress = false;//数据压缩

        private string balance = "";//结存类型

        private int indexDay = 1;//哪一天执行 第一天为1

        private string runTimer = "00:30:00";//当天的哪个时间执行

        private string monthType = BeanUtil.STOCK_SAVE_TYPE_THISMONTH;


        private BillDataMapTarget target = null;

        private BillDataMapAdvanced advanced = null;

        private BillModuleOwner owner = null;

        [Xml]
        public string Caption
        {
            get
            {
                return caption;
            }

            set
            {
                caption = value;
            }
        }
        [Xml]
        public string Key
        {
            get
            {
                return key;
            }

            set
            {
                key = value;
            }
        }
        [Xml]
        public string LanguageTexts
        {
            get
            {
                return languageTexts;
            }

            set
            {
                languageTexts = value;
            }
        }
        [Xml]
        public string RootVersion
        {
            get
            {
                return rootVersion;
            }

            set
            {
                rootVersion = value;
            }
        }
        [Xml]
        public string JavaPackage
        {
            get
            {
                return javaPackage;
            }

            set
            {
                javaPackage = value;
            }
        }
        [Xml]
        public string GroupList
        {
            get
            {
                return groupList;
            }

            set
            {
                groupList = value;
            }
        }
        [Xml]
        public bool Compress
        {
            get
            {
                return compress;
            }

            set
            {
                compress = value;
            }
        }
        [Xml]
        public string Balance
        {
            get { return balance; }
            set { balance = value; }
        }
        [Xml]
        public int IndexDay
        {
            get { return indexDay; }
            set { indexDay = value; }
        }
        [Xml]
        public string RunTimer
        {
            get { return runTimer; }
            set { runTimer = value; }
        }
        [Xml]
        public string MonthType
        {
            get { return monthType; }
            set { monthType = value; }
        }
        [XmlElement("targetProperties")]
        public BillDataMapTarget Target
        {
            get { return target; }
            set { target = value; }
        }

        [XmlElement("advancedProperties")]
        public BillDataMapAdvanced Advanced
        {
            get
            {
                return advanced;
            }

            set
            {
                advanced = value;
            }
        }

        [XmlElement("ownerProperties")]
        public BillModuleOwner Owner
        {
            get
            {
                return owner;
            }

            set
            {
                owner = value;
            }
        }

        [XmlTransient]
        public object ParentBean
        {
            get
            {
                return null;
            }

            set
            {
                
            }
        }

        public object Clone()
        {

            return null;
        }
    }
}
